Next.jsのPrerenderでStorageのReference Errorが発生する際の対策
対策例
code:ts
const mockStorageForPrerender: Storage = {
getItem: () => null,
setItem: () => null,
removeItem: () => null,
clear: () => null,
key: () => null,
length: 0,
}
export const getSessionStorage = () => {
if (typeof window === 'undefined') {
return mockStorageForPrerender
}
return window.sessionStorage
}
export const getLocalStorage = () => {
if (typeof window === 'undefined') {
return mockStorageForPrerender
}
return window.localStorage
}
koushisa.icon
本来は、useEffectなどを利用してクライアントサイドでのみ実行するような処理にすべきではある